package com.barry.bean;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * @author ke.song
 */
@AllArgsConstructor
@Getter
public enum SysCodeEnum {
    //############################ 系統响应码开始 #####################################
    SUCCESS("200", "成功"),
    FAILURE("500", "服务异常"),
    REQUEST_METHOD_NOT_SUPPORTED("405", "请求方式不支持"),
    TYPE_MISMATCH_REQUEST_PARAMETER("400", "参数类型不匹配"),
    MISSING_REQUEST_PARAMETER("401", "缺少请求参数"),
    ILLEGAL_PARAM("406", "参数非法"),
    SEND_MQ_EXCEPTION("407", "发送MQ出现异常"),
    OPERATIONAL_CONFLICT("408", "该操作与其他终端发生冲突,请稍后重试"),
    USER_NOT_LOGIN("1001", "用户未登录,请重新登录"),
    RPC_ERROR("1002", "rpc接口异常"),
    SAME_PARAM("409", "存在重复参数"),
    CURRENT_REPORT_LIMIT("405", "目前有多个报表正在导出，请５分钟后再操作，谢谢!"),
    EXPORT_SUCCESS("200", "请到导出管理查看或下载报表"),

    //############################ 系統响应码结束 ####################################
    /**
     * 状态码业务规则  = AABBCC(AA金融子系统代号，从11递增；BB代表微服务内顶级模块代号，从00递增；CC代表顶级模块下自增代码，从00递增)
     * 如 金融子系统：金融评分（11）；顶级模块：后台管理（00），数据同步（01），评分计算（02）
     */
    //############################ 金融评分响应码开始 ####################################
    //后台管理模块
    SCFC_WEB_VENDOR_INF_ERROR("110000", "从OOP获取所有商家信息错误"),
    SCFC_WEB_ALL_COM_INF_ERROR("110001", "从OOP获取所有公司信息错误"),
    SCFC_WEB_ONE_COM_INF_ERROR("110002", "从OOP根据id获取公司信息错误"),
    SCFC_WEB_SCORE_HAS_GRADE("110003","生效评分模型下存在生效or待生效的评级"),
    SCFC_WEB_HAS_SCORE("110004","存在生效评分模型"),
    SCFC_WEB_PRE_SCORE_HAS_GRADE("110005","待生效评分模型下存在生效or待生效的评级"),
    SCFC_WEB_PRE_HAS_SCORE("110006","存在待生效评分模型"),
    //数据同步模块

    //评分计算模块
    NOT_FOUND_UNIQUE_EFFECTIVE_SCORE_MODEL("110201", "没有找到唯一生效的评分模型"),
    NOT_FOUND_SCORE_DIMENSION("110202", "评分模型没有维护评分维度"),
    NOT_FOUND_UNIQUE_EFFECTIVE_GRADE_MODEL("110203", "没有找到唯一生效的评级模型"),
    NOT_FOUND_UNIQUE_EFFECTIVE_RATE_MODEL("110204", "没有找到唯一生效的利率模型"),
    SCORE_FIELD_VALUE_GET_FAIL("110205", "评分获取字段值失败"),
    EXPRESS_PARAM_PARSE_FAIL("110206", "公式解析参数失败"),
    SCORE_MATCH_FAIL("110207", "公式结果匹配分数区间失败"),
    SCORE_MATCH_RESULT_NOT_UNIQUE("110208", "计算结果没有匹配到分数"),
    NOT_FOUND_GRADE_DETAIL("110209", "评级模型未维护评级明细信息"),
    GRADE_MATCH_FAIL("110211", "评级结果匹配失败"),
    GRADE_MATCH_RESULT_NOT_UNIQUE("110212", "未匹配到评级区间"),
    NOT_FOUND_UNIQUE_GRADE_RESULT("110213", "未找到评级结果信息"),
    RATE_MATCH_RESULT_NOT_UNIQUE("110214", "未匹配到利率结果"),
    EXPRESS_RUN_FAIL("110215", "公式执行失败"),
    RECURSIVE_PARSE_RULE_FAIL("110216", "递归解析公式失败"),
    RESTART_CALCULATE_DATA_NOT_EXIST("110217","评分重计算未找到相关计算数据");


    //############################ 金融评分响应码结束 ####################################
    private String code;
    private String msg;

    public void setCode(String code) {
        this.code = code;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }
}
